約 2,409,141 件
https://w.atwiki.jp/aerocats/pages/52.html
標準Linuxの/usr/local/sbin/内にある。 開発用Linuxに必要な材料をHDDに展開する役割を担う。 また、ユーザーの意思次第でHDDブートの設定も行う。 動作内容 スクリプト スクリプト詳細HDDブートの準備 U-Boot環境変数の設定 動作内容 /mnt/mtdにhddrootfs.tar.gz、uImage.buffaloがあるかどうかを確認して以下を実行。 ある場合 /mnt/bootディレクトリを作成し、/dev/sda1をext3形式でマウントして、そこにuImage.buffaloをコピーする。 /mnt/rootfsディレクトリを作成し、/dev/sda2をxfs形式でマウントして、そこにhddrootfs.tar.gzを展開する。 デバイス マウントポイント マウント形式 /dev/sda1 /mnt/boot ext3 /dev/sda2 /mnt/rootfs xfs /usr/local/bin/kuro_libを/mnt/rootfs/usr/local/binにコピーする。 ChangeMyUbootEnvがあればU-Boot環境変数を書き換える。なければそのまま終了する。 ない場合 エラー終了させる。 スクリプト #!/bin/sh . /usr/local/bin/kuro_lib TMP_BOOT_MPT=/mnt/boot TMP_ROOT_MPT=/mnt/rootfs HDD_ROOTFS=${MTD_MPT}/hddrootfs.tar.gz UIMAGE=${MTD_MPT}/uImage.buffalo CHANGE_UBOOT_ENV=${MTD_MPT}/ChangeMyUbootEnv # check material if [ -e ${HDD_ROOTFS} -a -e ${UIMAGE} ] ; then # I believe sda is already fdisked and format is finished. # That s a KUROBOX quality....www # mkdir ${TMP_BOOT_MPT} mkdir ${TMP_ROOT_MPT} mount -t ext3 ${DISK1_DEV}1 ${TMP_BOOT_MPT} [ $? -ne 0 ] exit 1 mount -t xfs ${DISK1_DEV}2 ${TMP_ROOT_MPT} [ $? -ne 0 ] exit 1 cp -afp ${UIMAGE} ${TMP_BOOT_MPT}/ tar -zxvf ${HDD_ROOTFS} -C ${TMP_ROOT_MPT}/ cp -f /usr/local/bin/kuro_lib ${TMP_ROOT_MPT}/usr/local/bin/ # OK! prepare of hdd is finished. # change u-boot environment or not ? if [ -e ${CHANGE_UBOOT_ENV} ] ; then nvram -c set default_kernel_addr 0x00100000 nvram -c set bootargs_base console=ttyS0,115200 nvram -c set bootargs_root root=/dev/sda2 rw panic=5 nvram -c set bootargs console=ttyS0,115200 root=/dev/sda2 rw panic=5 BOOTVER=1.09 nvram -c set bootcmd ide reset; ext2load ide 0 1 $(default_kernel_addr) /$(kernel); bootm $(default_kernel_addr) nvram -c set nand_boot no fi # OK! u-boot environment is changed. else exit 1 fi スクリプト詳細 ブロックごとに見てみる。 #!/bin/sh . /usr/local/bin/kuro_lib シェルにshを指定して、/usr/local/bin/kuro_libをサブシェルで実行している。 このkuro_lib内の MTD_MPT変数(=/mnt/mtd) DISK1_DEV変数(=/dev/sda) を使用するためだ。 TMP_BOOT_MPT=/mnt/boot TMP_ROOT_MPT=/mnt/rootfs HDD_ROOTFS=${MTD_MPT}/hddrootfs.tar.gz UIMAGE=${MTD_MPT}/uImage.buffalo CHANGE_UBOOT_ENV=${MTD_MPT}/ChangeMyUbootEnv TMP_BOOT_MPTという変数を用意し、そこに/mnt/bootを代入。 TMP_ROOT_MPTという変数を用意し、そこに/mnt/rootfsを代入。 HDD_ROOTFSという変数を用意し、そこに/mnt/mtd/hddrootfs.tar.gzを代入。 UIMAGEという変数を用意し、そこに/mnt/mtd/uImage.buffaloを代入。 CHANGE_UBOOT_ENVという変数を用意し、そこに/mnt/mtd/ChangeMyUbootEnvを代入。 # check material 必要材料のチェック。 HDDブートの準備 if [ -e ${HDD_ROOTFS} -a -e ${UIMAGE} ] ; then /mnt/mtd/hddrootfs.tar.gzが存在し、かつ/mnt/mtd/uImage.buffaloも存在するならば次を実行する。 # I believe sda is already fdisked and format is finished. # That s a KUROBOX quality....www # 「sdaはもうfdiskされフォーマットもされていると信じています。これが玄箱クオリティです。」とコメントされている。 mkdir ${TMP_BOOT_MPT} mkdir ${TMP_ROOT_MPT} mkdirコマンド?で/mnt/bootと/mnt/rootfsというディレクトリを作成している。 mount -t ext3 ${DISK1_DEV}1 ${TMP_BOOT_MPT} mountコマンドで、/dev/sda1をext3形式で/mnt/bootにマウントしている。 [ $? -ne 0 ] exit 1 そのmountコマンド実行時に終了ステータスが「0」(つまり正常)でなければ、終了ステータス「1」(つまり異常)を設定しスクリプトを終了する。 mount -t xfs ${DISK1_DEV}2 ${TMP_ROOT_MPT} mountコマンドで、/dev/sda2をxfs形式で/mnt/rootfsにマウントしている。 [ $? -ne 0 ] exit 1 そのmountコマンド実行時に終了ステータスが「0」(つまり正常)でなければ、終了ステータス「1」(つまり異常)を設定しスクリプトを終了する。 cp -afp ${UIMAGE} ${TMP_BOOT_MPT}/ cpコマンド?で/mnt/mtd/uImage.buffaloを/mnt/boot/にコピーしている。 「-afp」オプションは、「-a」で「できるだけ属性や構造を保持する」、「-f」で「同名ファイルを警告せずに上書きする」、「-p」で「パーミッションやタイムスタンプを保持したままコピー」という意味だ。 tar -zxvf ${HDD_ROOTFS} -C ${TMP_ROOT_MPT}/ tarコマンドで/mnt/mtd/hddrootfs.tar.gzを/mnt/rootfs/に展開している。 「-zxvf」オプションは、「-z」で「アーカイブ展開と同時にzip形式での解凍も行う(拡張子:.tar.gz)」、「-x」で「アーカイブからファイル・ディレクトリを取り出す」、「-v」で「処理の詳細を表示する」、「-f」で「アーカイブファイルのファイル名/デバイスファイル名を指定する」という意味だ。 cp -f /usr/local/bin/kuro_lib ${TMP_ROOT_MPT}/usr/local/bin/ ふたたびcpコマンド?で/usr/local/bin/kuro_libを/mnt/rootfs/usr/local/bin/に「-f」オプション(同名ファイルを警告せずに上書きする)でコピーしている。 # OK! prepare of hdd is finished. HDDの準備は完了しました、とのコメント。 # change u-boot environment or not ? U-Bootの環境も変更するかどうか、というコメント。ここからU-Bootの環境変数の変更処理だ。 U-Boot環境変数の設定 if [ -e ${CHANGE_UBOOT_ENV} ] ; then /mnt/mtd/ChangeMyUbootEnvが存在すれば次を実行。 nvram -c set default_kernel_addr 0x00100000 nvram -c set bootargs_base console=ttyS0,115200 nvram -c set bootargs_root root=/dev/sda2 rw panic=5 nvram -c set bootargs console=ttyS0,115200 root=/dev/sda2 rw panic=5 BOOTVER=1.09 nvram -c set bootcmd ide reset; ext2load ide 0 1 $(default_kernel_addr) /$(kernel); bootm $(default_kernel_addr) nvram -c set nand_boot no nvramコマンド?を使ってU-Boot環境変数を設定している。 各環境変数の変更内容については環境変数について?で説明する。 ここではルートファイルシステムを/dev/sda2、ブートするカーネルを/dev/sda1、NANDフラッシュからのブートはしない、という設定になっている。 fi /mnt/mtd/ChangeMyUbootEnvの有無の条件分岐を終了する。 # OK! u-boot environment is changed. U-Boot環境を変更しました、というコメント。 実際は/mnt/mtd/ChangeMyUbootEnvがなくてもここを通るので「変更しました」では間違っているが、コメントなので問題はない。 else /mnt/mtd/hddrootfs.tar.gzかあるいは/mnt/mtd/uImage.buffaloがなければ以下を実行。 exit 1 終了ステータスに「1」(つまり異常)を設定しスクリプトを終了する。 fi /mnt/mtd/hddrootfs.tar.gzと/mnt/mtd/uImage.buffaloの有無の条件分岐を終了する。
https://w.atwiki.jp/aerocats/pages/27.html
既にマウントされたHDDに対してRESETボタンを長押しした場合、このようなエラーメッセージがコンソールに表示される。 詳しい挙動はInitDisk1.shにて説明するが、/dev/sda、/dev/sda1、/dev/sda4のいずれかがマウントされている場合に出現するエラーのようだ。 対処 umountコマンドでマウントを外す。 ~ # umount /mnt/disk1 しかし外しただけではおそらく次のフォーマットに関するエラーが発生する。
https://w.atwiki.jp/aerocats/pages/51.html
標準Linuxの/usr/local/bin/内にある。 スクリプト #!/bin/sh # KURO-BOX/PRO shell script common routines. # Ver 1.002007/01/17 new by Y.H. # DEFAULT_IP=192.168.11.150 ENETNAME=eth0 #setup global environment values. MTD_SHARE=`grep extra /proc/mtd| sed -e "s/ .*//"` MTD_UIMAGE=`grep uImage /proc/mtd|sed -e "s/ .*//"` MTD_ROOTFS=`grep rootfs /proc/mtd|sed -e "s/ .*//"` MTD_UBOOT=mtd0 MTD_SHARE_DEV=/dev/${MTD_SHARE} MTD_UIMAGE_DEV=/dev/${MTD_UIMAGE} MTD_ROOTFS_DEV=/dev/${MTD_ROOTFS} MTD_RBOOT_DEV=/dev/${MTD_UBOOT} MTD_UIMAGE_CHARDEV_MINORNUM=`echo ${MTD_UIMAGE_DEV}|sed -e "s/.*mtd//"|sed -e "s/.*mtdblock//"` MTD_UIMAGE_CHARDEV=/dev/mtdchar${MTD_UIMAGE_CHARDEV_MINORNUM} MTD_ROOTFS_CHARDEV_MINORNUM=`echo ${MTD_ROOTFS_DEV}|sed -e "s/.*mtd//"|sed -e "s/.*mtdblock//"` MTD_ROOTFS_CHARDEV=/dev/mtdchar${MTD_ROOTFS_CHARDEV_MINORNUM} MTD_SHARE_CHARDEV_MINORNUM=`echo ${MTD_SHARE_DEV}|sed -e "s/.*mtd//"|sed -e "s/.*mtdblock//"` MTD_SHARE_CHARDEV=/dev/mtdchar${MTD_SHARE_CHARDEV_MINORNUM} DISK1_DEV=/dev/sda DISK2_DEV=/dev/sdb DISK1_MPT=/mnt/disk1 DISK2_MPT=/mnt/disk2 MTD_MPT=/mnt/mtd RAMDISK_MPT=/mnt/ram RAMDISK_DEV=/dev/ram1 RAMDISK_SIZE=8 KERNEL_EVENT_TAIL=/proc/buffalo/kernevnt FIRST_NAND=/etc/first_boot MICONAPL=/usr/local/sbin/miconapl HEXDUMP=/usr/bin/hexdump CHANGE_TO_DEVHDD_FILE=${MTD_MPT}/ChangeMeDevHDD SCSI_MAJOR=8 SCSI1_MINOR_BASE=0 SCSI2_MINOR_BASE=16 # $1 device of check target # retval # 1 device $1 is mounted. # 0 device $1 is not mounted. IsMounted(){ MOUNTED=`grep $1 /proc/mounts` if [ "${MOUNTED}" != "" ] ; then return 1 else return 0 fi return 0 } # $1 return value of evaluate target. DispSF(){ if [ "$1" -eq 0 ] ; then echo [Success] else echo [Failed ] fi } # $1 Executing shellscript. (mainly used for rcS) # $2 Option(default is start) exec_sh(){ if [ ! x"$2" = x"" ] ; then EXEC_OPT=$2 else EXEC_OPT=start fi echo "" echo "===== Starting $1 =====" /etc/init.d/$1 ${EXEC_OPT} DispSF $? echo "" } # $1 Check target mount point. CheckMPT(){ if [ "$1" != "" ] ; then echo "Checking MPT($1) is exist or not." if [ ! -e "$1" ] ; then echo "$1 not exist. So create a directory, now." mkdir $1 -p chmod 777 $1 else echo "$1 is exist. So no need to create a directory." fi else echo "Checking MPT target is something wrong." fi } create_sysfolder(){ rm -rf ${RAMDISK_MPT} mkdir -m 777 -p ${RAMDISK_MPT} mount -t tmpfs -o mode=1777,size=${RAMDISK_SIZE}m ${RAMDISK_DEV} ${RAMDISK_MPT} if [ $? -ne 0 ] ; then echo "*** ERROR! ${RAMDISK_MPT} mount fail!!" reboot -f fi mkdir -m 777 -p /mnt/ram/tmp /mnt/ram/var/tmp /mnt/ram/var/run rm -rf /tmp /var ln -sf /mnt/ram/tmp /tmp ln -sf /mnt/ram/var /var mkdir -m 777 -p /var/lock mkdir -m 755 -p /var/empty/sshd mkdir -m 755 -p /var/lib/dhcp mkdir -m 755 -p /var/lib/nfs chown rpcuser rpcuser /var/lib/nfs mkdir -m 755 -p /var/lock/subsys mkdir -m 755 -p /var/lock/perfmon mkdir -m 755 -p /var/lock/printing mkdir -m 755 -p /var/log/hotplug mkdir -m 755 -p /var/log/samba mkdir -m 755 -p /var/log/linkstation mkdir -m 755 -p /var/run/usb mkdir -m 755 -p /var/spool ln -s /etc/cron /var/spool/cron MODEL=`grep PRODUCTNAME /proc/buffalo/firmware|sed -e "s/PRODUCTNAME=//"` echo "KUROUTOSHIKOU KUROBOX Series ${MODEL}" /etc/issue ln -sf issue /etc/issue.net rm -f /var/lock/* } # $1 target device to format Format_EXT3(){ echo "***** Starting to format $1 *****" mkfs.ext3 $1 if [ $? -eq 0 ] ; then echo "Format is succeeded without error." else return 1 exit 1 fi return 0 } # $1 target device to format. Format_XFS(){ KEY=`dd if=$1 bs=1 count=3` if [ "${KEY}" = "XFS" ] ; then . /etc/melco/info if [ "${force_format}" = "yes" ] ; then echo "Disk (or partition) is looks like already formatted." echo "If you stop format, Press Ctrl+C in 10 seconds!!!" COUNTER=10 echo -n "waiting " while [ ${COUNTER} -gt 0 ] do echo -n "." sleep 1 COUNTER=$((${COUNTER} - 1)) done echo "" echo "OK, go on formatting." else return 0 fi fi echo "***** Cleaning Disk partition information *****" dd if=/dev/zero of=$1 bs=512 count=1 echo "***** Starting to format $1 *****" mkfs.xfs $1 -f if [ $? -eq 0 ] ; then echo "Format is succeeded without error." else return 1 exit 1 fi return 0 } # $1 target device to check partition # ret 0 this is no partition disk. # ret 1 this is nand share type partition # ret 2 this is developkit type partition (maybe) IsHavePartition(){ if [ -x ${HEXDUMP} ] ; then DISK_1_PART_TAIL=`hexdump -s 446 -n 64 -e 8/1 "%02x " 2/4 "%10d " "\n" $1 | sed -n "1p"|awk {print $10} ` DISK_2_PART_TAIL=`hexdump -s 446 -n 64 -e 8/1 "%02x " 2/4 "%10d " "\n" $1 | sed -n "2p"|awk {print $10} ` DISK_3_PART_TAIL=`hexdump -s 446 -n 64 -e 8/1 "%02x " 2/4 "%10d " "\n" $1 | sed -n "3p"|awk {print $10} ` DISK_4_PART_TAIL=`hexdump -s 446 -n 64 -e 8/1 "%02x " 2/4 "%10d " "\n" $1 | sed -n "4p"|awk {print $10} ` if [ "${DISK_1_PART_TAIL}" -ne 0 -a "${DISK_2_PART_TAIL}" -eq 0 -a "${DISK_3_PART_TAIL}" -eq 0 -a "${DISK_4_PART_TAIL}" -eq 0 ] ; then return 1 elif [ "${DISK_1_PART_TAIL}" -ne 0 -a "${DISK_2_PART_TAIL}" -ne 0 -a "${DISK_3_PART_TAIL}" -ne 0 -a "${DISK_4_PART_TAIL}" -ne 0 ] ; then return 2 else return 0 fi else return 0 fi return 0 } # $1 target device to mount. # $2 target mountpoint of $1. # $3 File system of target device(default is xfs). # $4 Mounted device permission(default is 777). MountShare(){ # ret 0 this is no partition disk. # ret 1 this is nand share type partition # ret 2 this is developkit type partition (maybe) if [ "$1" = "/dev/sda" -o "$1" = "/dev/sdb" ] ; then IsHavePartition $1 RET=$? [ "${RET}" -eq 1 ] TARGET_DEV=${1}1 [ "${RET}" -eq 2 ] TARGET_DEV=${1}4 [ "${RET}" -eq 0 ] TARGET_DEV=${1} else TARGET_DEV=$1 fi IsMounted ${TARGET_DEV} if [ $? = 1 ] ; then echo "${TARGET_DEV} is already mounted." return 1 fi if [ "$3" = "" ] ; then FS=xfs else FS=$3 fi if [ "$4" = "" ] ; then PERMISSION=777 else PERMISSION=$4 fi echo "Mounting ${TARGET_DEV} on $2 as a ${FS} file system." mount -t ${FS} ${TARGET_DEV} $2 case $? in 0) chmod ${PERMISSION} $2 echo "Success." ;; *) echo "Failed." return 1 ;; esac echo "" return 0 } MiconIntEnable(){ cat /proc/buffalo/miconint_en } CreateDevFile(){ DISK_DEV=$1 case ${DISK_DEV} in ${DISK1_DEV}) SCSI_MINOR_BASE=${SCSI1_MINOR_BASE} [ ! -e ${DISK_DEV} ] mknod ${DISK_DEV} b ${SCSI_MAJOR} ${SCSI_MINOR_BASE} ;; ${DISK2_DEV}) SCSI_MINOR_BASE=${SCSI2_MINOR_BASE} [ ! -e ${DISK_DEV} ] mknod ${DISK_DEV} b ${SCSI_MAJOR} ${SCSI_MINOR_BASE} ;; *) return -1 esac SCSI_MINOR=$((${SCSI_MINOR_BASE} + 1)) DEV_NO=1 while [ ${DEV_NO} -lt 8 ] do [ ! -e ${DISK_DEV}${DEV_NO} ] mknod ${DISK_DEV}${DEV_NO} b ${SCSI_MAJOR} ${SCSI_MINOR} DEV_NO=$((${DEV_NO} + 1)) SCSI_MINOR=$((${SCSI_MINOR} + 1)) done } lock_file(){ case $1 in check) [ -f "${LOCK}" ] echo "${THIS_SCRIPT} already runnign" return 1 ;; create) echo "${THIS_SCRIPT}" $2 ${LOCK} ;; delete) rm -f ${LOCK} ;; delete_log) rm -f ${LOCK}.log ;; *) ;; esac }
https://w.atwiki.jp/aerocats/pages/15.html
起動メッセージ メッセージを読む電源ON 周辺装置の初期化 メインメモリ上にカーネルを読み込む カーネルの起動SATAデバイスドライバの読み込み NORフラッシュ NANDフラッシュ USB ネットワーク rootfsのマウント ルートファイルシステムによる初期化MountSystemFolders関数 checkroot.sh Kevent.sh mount_share.sh sethostname.sh networking.sh httpd.sh telnet.sh inetd.sh smb.sh clientUtil_servd.sh bootcomplete.sh FanController.sh boss.sh 起動メッセージ Orion1 CPU = Low === KURO U-Boot. === ** LOADER ** ** KUROBOX BOARD KURO_BOX LE (CFG_ENV_ADDR=fffff000) U-Boot 1.1.1 (Apr 10 2007 - 18 10 08) Marvell version 1.12.1 - TINY DRAM CS[0] base 0x00000000 size 128MB DRAM Total size 128MB [256kB@fffc0000] Flash 256 kB Addresses 20M - 0M are saved for the U-Boot usage. Mem malloc Initialization (20M - 16M) Done NAND 256 MB Soc 88F5182 A2 CPU ARM926 (Rev 0) running @ 500Mhz Orion 1 streaming disabled SysClock = 250Mhz , TClock = 166Mhz USB 0 host mode USB 1 host mode PCI 0 PCI Express Root Complex Interface PCI 1 Conventional PCI, speed = 33000000 Net egiga0 [PRIME] Using 88E1118 phy Found boot image hit any key to switch tftp boot. Hit any key to stop autoboot 2 1 0 system_bootend Hit any key to stop autoboot 3 2 1 0 Loading from device 0 NULL at 0xfa000000 (offset 0x20000) Image Name Linux-2.6.12.6-arm1 Created 2007-04-10 13 45 13 UTC Image Type ARM Linux Kernel Image (uncompressed) Data Size 1736548 Bytes = 1.7 MB Load Address 00008000 Entry Point 00008000 stop_sound ## Booting image at 00100000 ... Image Name Linux-2.6.12.6-arm1 Created 2007-04-10 13 45 13 UTC Image Type ARM Linux Kernel Image (uncompressed) Data Size 1736548 Bytes = 1.7 MB Load Address 00008000 Entry Point 00008000 Verifying Checksum ... OK OK Starting kernel ... arg console=ttyS0,115200 root=/dev/mtdblock2 rw panic=5 BOOTVER=1.09 CONFIG_KUROBOX_PLATFORM CONFIG_KUROBOX_KUROBOX --- Uncompressing Linux................................................................................................................. done, booting the kernel. Linux version 2.6.12.6-arm1 (root@dev-hara) (gcc version 3.4.4 (release) (CodeSourcery ARM 2005q3-2)) #27 Tue Apr 10 22 47 16 JST 2007 CPU ARM926EJ-Sid(wb) [41069260] revision 0 (ARMv5TEJ) CPU0 D VIVT write-back cache CPU0 I cache 32768 bytes, associativity 1, 32 byte lines, 1024 sets CPU0 D cache 32768 bytes, associativity 1, 32 byte lines, 1024 sets Machine MV-88fxx81 Using UBoot passing parameters structure Sys Clk = 250000000, Tclk = 166664740 Memory policy ECC disabled, Data cache writeback Built 1 zonelists Kernel command line console=ttyS0,115200 root=/dev/mtdblock2 rw panic=5 BOOTVER=1.09 PID hash table entries 1024 (order 10, 16384 bytes) Console colour dummy device 80x30 Dentry cache hash table entries 32768 (order 5, 131072 bytes) Inode-cache hash table entries 16384 (order 4, 65536 bytes) Memory 128MB 0MB 0MB 0MB = 128MB total Memory 126208KB available (3037K code, 426K data, 112K init) Mount-cache hash table entries 512 CPU Testing write buffer coherency ok NET Registered protocol family 16 serial_initialize_ttyS1 (Debug) ttyS1 is initialized. config_device_cs Error Unknown board CPU Interface ------------- SDRAM_CS0 ....base 00000000, size 128MB SDRAM_CS1 ....disable SDRAM_CS2 ....disable SDRAM_CS3 ....disable PEX0_MEM ....base e0000000, size 128MB PEX0_IO ....base f2000000, size 1MB PCI0_MEM ....base e8000000, size 128MB PCI0_IO ....base f2100000, size 1MB INTER_REGS ....base f1000000, size 1MB DEVICE_CS0 ....base fa000000, size 2MB DEVICE_CS1 ....base f4000000, size 32MB DEVICE_CS2 ....base fa800000, size 1MB DEV_BOOCS ....base ff800000, size 8MB CRYPTO ENG ....no such Flash bankwidth 1, base ff800000, size 400000 KUROBOX FLASH size 4096[KB] Marvell Development Board (LSP Version 1.10.3.patch5_DB_NAS)-- KUROBOX_BOARD_KUROBOX Soc 88F5182 A2 Detected Tclk 166664740 and SysClk 250000000 Marvell USB EHCI Host controller #0 c04e4b00 Marvell USB EHCI Host controller #1 c04e4a40 pexBarOverlapDetect winNum 2 overlap current 0 mvPexInit Warning Bar 2 size is illigal it will be disabled please check Pex and CPU windows configuration PCI bus0 Fast back to back transfers enabled PCI bus1 Fast back to back transfers enabled SCSI subsystem initialized usbcore registered new driver usbfs usbcore registered new driver hub Use the XOR engines (offloading) for enhancing the following functions o RAID 5 Xor calculation o kernel memcpy o kenrel memzero o copy user to/from kernel buffers Number of XOR engines to use 2 cesadev_init(c00122e4) Fast Floating Point Emulator V0.9 (c) Peter Teichmann. inotify device minor=63 JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc. SGI XFS with no debug enabled Serial 8250/16550 driver $Revision 1.90 $ 4 ports, IRQ sharing disabled ttyS0 at MMIO 0x0 (irq = 3) is a 16550A ttyS1 at MMIO 0x0 (irq = 4) is a 16550A io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered RAMDISK driver initialized 3 RAM disks of 32768K size 1024 blocksize loop loaded (max 8 devices) Marvell Gigabit Ethernet Driver egiga o Ethernet descriptors in DRAM o DRAM SW cache-coherency o Checksum offload enabled o Loading network interface ** egiga_init_module (10) eth0 Intergrated Sata device found scsi0 Marvell SCSI to SATA adapter scsi1 Marvell SCSI to SATA adapter Vendor Seagate Model ST380815AS Rev 3.AA Type Direct-Access ANSI SCSI revision 03 SCSI device sda 156301488 512-byte hdwr sectors (80026 MB) SCSI device sda drive cache write back SCSI device sda 156301488 512-byte hdwr sectors (80026 MB) SCSI device sda drive cache write back sda unknown partition table Attached scsi disk sda at scsi0, channel 0, id 0, lun 0 Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0, type 0 physmap flash device 400000 at ff800000 Found SST 39LF020 phys_mapped_flash Found 1 x8 devices at 0x0 in 8-bit bank number of JEDEC chips 1 cfi_cmdset_0002 Disabling erase-suspend-program due to code brokenness. RedBoot partition parsing not available Debug nand_scan nand_flash_ids[i].pagesize is exist Debug nand_scan mtd- erasesize=0x00020000 Debug nand_scan mtd- oobblock=0x00000800 Debug nand_scan mtd- oobsize=0x00000040 NAND device Manufacturer ID 0x20, Chip ID 0xda (ST Micro NAND 256MiB 3,3V 8-bit) Scanning device for bad blocks Using static partition definition Creating 3 MTD partitions on "nand_mtd" 0x00000000-0x00400000 "uImage" 0x00400000-0x04400000 "rootfs" 0x04400000-0x10000000 "extra" usbmon debugs is not available ehci_platform ehci_platform.4523 EHCI Host Controller ehci_platform ehci_platform.4523 new USB bus registered, assigned bus number 1 ehci_platform ehci_platform.4523 irq 17, io mem 0x00000000 ehci_platform ehci_platform.4523 park 0 ehci_platform ehci_platform.4523 USB 0.0 initialized, EHCI 1.00, driver 10 Dec 2004 hub 1-0 1.0 USB hub found hub 1-0 1.0 1 port detected ehci_platform ehci_platform.16781 EHCI Host Controller ehci_platform ehci_platform.16781 new USB bus registered, assigned bus number 2 ehci_platform ehci_platform.16781 irq 12, io mem 0x00000000 ehci_platform ehci_platform.16781 park 0 ehci_platform ehci_platform.16781 USB 0.0 initialized, EHCI 1.00, driver 10 Dec 2004 hub 2-0 1.0 USB hub found hub 2-0 1.0 1 port detected USB Universal Host Controller Interface driver v2.2 Initializing USB Mass Storage driver... usbcore registered new driver usb-storage USB Mass Storage support registered. usbcore registered new driver usbhid drivers/usb/input/hid-core.c v2.01 USB HID core driver mice PS/2 mouse device common for all mice md raid0 personality registered as nr 2 md raid1 personality registered as nr 3 md raid5 personality registered as nr 4 raid5 measuring checksumming speed arm4regs 304.000 MB/sec 8regs 215.200 MB/sec 32regs 249.200 MB/sec raid5 using function arm4regs (304.000 MB/sec) md md driver 0.90.1 MAX_MD_DEVS=256, MD_SB_DISKS=27 Buffalo Platform Linux Driver(Light) 0.01 installed. MICON ctrl (C) BUFFALO INC. V.1.00 installed. Kernel event proc (C) BUFFALO INC. V.1.00 installed. MICON V2 (C) BUFFALO INC. V.1.00 installed. NET Registered protocol family 2 IP routing cache hash table of 1024 buckets, 8Kbytes TCP established hash table entries 8192 (order 4, 65536 bytes) TCP bind hash table entries 8192 (order 3, 32768 bytes) TCP Hash tables configured (established 8192 bind 8192) NET Registered protocol family 1 NET Registered protocol family 17 md Autodetecting RAID arrays. md autorun ... md ... autorun DONE. Empty flash at 0x00df85f8 ends at 0x00df8800 VFS Mounted root (jffs2 filesystem). Freeing init memory 112K --- rcStart (NANDroot) --- ===== Starting MountSystemFolders ===== mounting procfs ... [Success] mounting sysfs ... [Success] mouting usbfs ... [Success] remouting rootfs ... [Success] mounting all devices ... [Success] ===== Starting checkroot.sh ===== rm /var/lock/perfmon is a directory rm /var/lock/printing is a directory rm /var/lock/subsys is a directory [Success] ===== Starting Kevent.sh ===== [Success] HDD未フォーマットの場合 ===== Starting mount_share.sh ===== Mounting /dev/sda on /mnt/disk1 as a xfs file system. XFS bad magic number XFS SB validate failed mount Mounting /dev/sda on /mnt/disk1 failed Invalid argument Failed. Mounting /dev/sda on /mnt/disk1 as a ext3 file system. mount Mounting /dev/sda on /mnt/disk1 failed Invalid argument Failed. Mounting /dev/mtd3 on /mnt/mtd as a jffs2 file system. Success. [Success] HDDをフォーマットしている場合 ===== Starting mount_share.sh ===== Mounting /dev/sda1 on /mnt/disk1 as a xfs file system. XFS mounting filesystem sda1 Starting XFS recovery on filesystem sda1 (dev sda1) Ending XFS recovery on filesystem sda1 (dev sda1) Success. Mounting /dev/mtd3 on /mnt/mtd as a jffs2 file system. Success. [Success] ===== Starting sethostname.sh ===== hostname is setted to KUROBOX-PRO [Success] LANに未接続の場合 ===== Starting networking.sh ===== create network files.. IP=[dhcp], netmask=[], dgw=[], dns1=[], dns2=[] killall dhcpcd no process killed route SIOC[ADD|DEL]RT No such process Configuration network interface lo eth0 requesting DHCP tout=30[s] ** dhcp fail ** setting default ip route SIOC[ADD|DEL]RT No such process /etc/dhcpc/dhcpcd.exe down dhcpcd.exe interface eth0 has been brought down add default if hostname is setted to KUROBOX-PRO [Success] LANに接続されている場合 ===== Starting networking.sh ===== create network files.. IP=[dhcp], netmask=[], dgw=[], dns1=[], dns2=[] killall dhcpcd no process killed route SIOC[ADD|DEL]RT No such process Configuration network interface lo eth0 requesting DHCP tout=30[s] eth0 link down eth0 link up 5 , full duplex 5 , speed 100 Mbps 5 /etc/dhcpc/dhcpcd.exe /etc/dhcpc/dhcpcd-eth0.info up dhcpcd.exe interface eth0 has been configured with old IP=192.168.1.9 hostname is setted to KUROBOX-PRO [Success] ===== Starting httpd.sh ===== [Success] ===== Starting telnet.sh ===== [Success] ===== Starting inetd.sh ===== [Success] ===== Starting smb.sh ===== $Starting SMB services $Starting NMB services [Success] ===== Starting clientUtil_servd.sh ===== Starting clientUtil_server starting on eth0 [Success] ===== Starting bootcomplete.sh ===== [Success] ===== Starting FanController.sh ===== [Success] ===== Starting boss.sh ===== (サングラス男AA) [Success] KUROUTOSHIKOU KUROBOX Series KUROBOX/PRO(KOSHO) KUROBOX-PRO login メッセージを読む 電源ON 玄箱PROの電源を入れると、まずCPUのプログラムカウンタにU-Bootのメモリアドレスが設定されU-Bootが実行される。 Orion1 CPU = Low === KURO U-Boot. === ** LOADER ** ** KUROBOX BOARD KURO_BOX LE (CFG_ENV_ADDR=fffff000) U-Boot 1.1.1 (Apr 10 2007 - 18 10 08) Marvell version 1.12.1 - TINY 周辺装置の初期化 U-Bootによる低レベルでの初期化を行い、カーネルイメージを見つける。 PCで言うBIOSのような働きをする。 DRAM CS[0] base 0x00000000 size 128MB DRAM Total size 128MB [256kB@fffc0000] Flash 256 kB Addresses 20M - 0M are saved for the U-Boot usage. Mem malloc Initialization (20M - 16M) Done NAND 256 MB Soc 88F5182 A2 CPU ARM926 (Rev 0) running @ 500Mhz Orion 1 streaming disabled SysClock = 250Mhz , TClock = 166Mhz USB 0 host mode USB 1 host mode PCI 0 PCI Express Root Complex Interface PCI 1 Conventional PCI, speed = 33000000 Net egiga0 [PRIME] Using 88E1118 phy Found boot image hit any key to switch tftp boot. Hit any key to stop autoboot 2 1 0 system_bootend Hit any key to stop autoboot 3 2 1 0 メインメモリ上にカーネルを読み込む 見つけたカーネルイメージをメインメモリへ読み込む。 PCで言うブートローダーの働きをする。 NANDフラッシュの0x20000番地(mtd1の128k以降)からロードする。 Loading from device 0 NULL at 0xfa000000 (offset 0x20000) Image Name Linux-2.6.12.6-arm1 Created 2007-04-10 13 45 13 UTC Image Type ARM Linux Kernel Image (uncompressed) Data Size 1736548 Bytes = 1.7 MB Load Address 00008000 Entry Point 00008000 stop_sound カーネルイメージをメインメモリの0x00100000番地へロード。 ## Booting image at 00100000 ... Image Name Linux-2.6.12.6-arm1 Created 2007-04-10 13 45 13 UTC Image Type ARM Linux Kernel Image (uncompressed) Data Size 1736548 Bytes = 1.7 MB Load Address 00008000 Entry Point 00008000 Verifying Checksum ... OK OK カーネルの起動 読み込んだカーネルを実行する。 この時点でU-Bootからカーネルに制御が移される。 Starting kernel ... arg console=ttyS0,115200 root=/dev/mtdblock2 rw panic=5 BOOTVER=1.09 CONFIG_KUROBOX_PLATFORM CONFIG_KUROBOX_KUROBOX --- カーネルが圧縮された自身の展開。 Uncompressing Linux................................................................................................................. done, booting the kernel. カーネルの起動。 Linux version 2.6.12.6-arm1 (root@dev-hara) (gcc version 3.4.4 (release) (CodeSourcery ARM 2005q3-2)) #27 Tue Apr 10 22 47 16 JST 2007 CPU ARM926EJ-Sid(wb) [41069260] revision 0 (ARMv5TEJ) CPU0 D VIVT write-back cache CPU0 I cache 32768 bytes, associativity 1, 32 byte lines, 1024 sets CPU0 D cache 32768 bytes, associativity 1, 32 byte lines, 1024 sets Machine MV-88fxx81 Using UBoot passing parameters structure Sys Clk = 250000000, Tclk = 166664740 Memory policy ECC disabled, Data cache writeback Built 1 zonelists Kernel command line console=ttyS0,115200 root=/dev/mtdblock2 rw panic=5 BOOTVER=1.09 PID hash table entries 1024 (order 10, 16384 bytes) Console colour dummy device 80x30 Dentry cache hash table entries 32768 (order 5, 131072 bytes) Inode-cache hash table entries 16384 (order 4, 65536 bytes) Memory 128MB 0MB 0MB 0MB = 128MB total Memory 126208KB available (3037K code, 426K data, 112K init) Mount-cache hash table entries 512 CPU Testing write buffer coherency ok NET Registered protocol family 16 serial_initialize_ttyS1 (Debug) ttyS1 is initialized. config_device_cs Error Unknown board CPU Interface ------------- SDRAM_CS0 ....base 00000000, size 128MB SDRAM_CS1 ....disable SDRAM_CS2 ....disable SDRAM_CS3 ....disable PEX0_MEM ....base e0000000, size 128MB PEX0_IO ....base f2000000, size 1MB PCI0_MEM ....base e8000000, size 128MB PCI0_IO ....base f2100000, size 1MB INTER_REGS ....base f1000000, size 1MB DEVICE_CS0 ....base fa000000, size 2MB DEVICE_CS1 ....base f4000000, size 32MB DEVICE_CS2 ....base fa800000, size 1MB DEV_BOOCS ....base ff800000, size 8MB CRYPTO ENG ....no such Flash bankwidth 1, base ff800000, size 400000 KUROBOX FLASH size 4096[KB] Marvell Development Board (LSP Version 1.10.3.patch5_DB_NAS)-- KUROBOX_BOARD_KUROBOX Soc 88F5182 A2 Detected Tclk 166664740 and SysClk 250000000 Marvell USB EHCI Host controller #0 c04e4b00 Marvell USB EHCI Host controller #1 c04e4a40 pexBarOverlapDetect winNum 2 overlap current 0 mvPexInit Warning Bar 2 size is illigal it will be disabled please check Pex and CPU windows configuration PCI bus0 Fast back to back transfers enabled PCI bus1 Fast back to back transfers enabled SCSI subsystem initialized usbcore registered new driver usbfs usbcore registered new driver hub Use the XOR engines (offloading) for enhancing the following functions o RAID 5 Xor calculation o kernel memcpy o kenrel memzero o copy user to/from kernel buffers Number of XOR engines to use 2 cesadev_init(c00122e4) Fast Floating Point Emulator V0.9 (c) Peter Teichmann. inotify device minor=63 JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc. SGI XFS with no debug enabled Serial 8250/16550 driver $Revision 1.90 $ 4 ports, IRQ sharing disabled ttyS0 at MMIO 0x0 (irq = 3) is a 16550A ttyS1 at MMIO 0x0 (irq = 4) is a 16550A io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered RAMDISK driver initialized 3 RAM disks of 32768K size 1024 blocksize loop loaded (max 8 devices) Marvell Gigabit Ethernet Driver egiga o Ethernet descriptors in DRAM o DRAM SW cache-coherency o Checksum offload enabled o Loading network interface ** egiga_init_module (10) eth0 SATAデバイスドライバの読み込み Intergrated Sata device found scsi0 Marvell SCSI to SATA adapter scsi1 Marvell SCSI to SATA adapter Vendor Seagate Model ST380815AS Rev 3.AA Type Direct-Access ANSI SCSI revision 03 SCSI device sda 156301488 512-byte hdwr sectors (80026 MB) SCSI device sda drive cache write back SCSI device sda 156301488 512-byte hdwr sectors (80026 MB) SCSI device sda drive cache write back sda unknown partition table Attached scsi disk sda at scsi0, channel 0, id 0, lun 0 Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0, type 0 NORフラッシュ physmap flash device 400000 at ff800000 Found SST 39LF020 phys_mapped_flash Found 1 x8 devices at 0x0 in 8-bit bank number of JEDEC chips 1 cfi_cmdset_0002 Disabling erase-suspend-program due to code brokenness. RedBoot partition parsing not available NANDフラッシュ Debug nand_scan nand_flash_ids[i].pagesize is exist Debug nand_scan mtd- erasesize=0x00020000 erasesizeとはNANDフラッシュの内容を消去する単位の大きさであり、それが0x00020000、つまり128KBだとなっている。 消去はブロック単位で行われるため、1ブロック128KBだということになる。 Debug nand_scan mtd- oobblock=0x00000800 OOBとはOut Of Bandの略で、ECCと呼ばれるエラー訂正コードを格納する領域を意味する。 16進数で00000800は10進数で2048を意味し、これはOOBのブロック数を指している。 Debug nand_scan mtd- oobsize=0x00000040 OOBのサイズが00000040だと意味する。 10進数で64となり、OOBのサイズは64バイトだとわかる。 NAND device Manufacturer ID 0x20, Chip ID 0xda (ST Micro NAND 256MiB 3,3V 8-bit) Scanning device for bad blocks Using static partition definition Creating 3 MTD partitions on "nand_mtd" 0x00000000-0x00400000 "uImage" 0x00400000-0x04400000 "rootfs" 0x04400000-0x10000000 "extra" USB usbmon debugs is not available ehci_platform ehci_platform.4523 EHCI Host Controller ehci_platform ehci_platform.4523 new USB bus registered, assigned bus number 1 ehci_platform ehci_platform.4523 irq 17, io mem 0x00000000 ehci_platform ehci_platform.4523 park 0 ehci_platform ehci_platform.4523 USB 0.0 initialized, EHCI 1.00, driver 10 Dec 2004 hub 1-0 1.0 USB hub found hub 1-0 1.0 1 port detected ehci_platform ehci_platform.16781 EHCI Host Controller ehci_platform ehci_platform.16781 new USB bus registered, assigned bus number 2 ehci_platform ehci_platform.16781 irq 12, io mem 0x00000000 ehci_platform ehci_platform.16781 park 0 ehci_platform ehci_platform.16781 USB 0.0 initialized, EHCI 1.00, driver 10 Dec 2004 hub 2-0 1.0 USB hub found hub 2-0 1.0 1 port detected USB Universal Host Controller Interface driver v2.2 Initializing USB Mass Storage driver... usbcore registered new driver usb-storage USB Mass Storage support registered. usbcore registered new driver usbhid drivers/usb/input/hid-core.c v2.01 USB HID core driver mice PS/2 mouse device common for all mice md raid0 personality registered as nr 2 md raid1 personality registered as nr 3 md raid5 personality registered as nr 4 raid5 measuring checksumming speed arm4regs 304.000 MB/sec 8regs 215.200 MB/sec 32regs 249.200 MB/sec raid5 using function arm4regs (304.000 MB/sec) md md driver 0.90.1 MAX_MD_DEVS=256, MD_SB_DISKS=27 Buffalo Platform Linux Driver(Light) 0.01 installed. MICON ctrl (C) BUFFALO INC. V.1.00 installed. Kernel event proc (C) BUFFALO INC. V.1.00 installed. MICON V2 (C) BUFFALO INC. V.1.00 installed. ネットワーク NET Registered protocol family 2 IP routing cache hash table of 1024 buckets, 8Kbytes TCP established hash table entries 8192 (order 4, 65536 bytes) TCP bind hash table entries 8192 (order 3, 32768 bytes) TCP Hash tables configured (established 8192 bind 8192) NET Registered protocol family 1 NET Registered protocol family 17 md Autodetecting RAID arrays. md autorun ... md ... autorun DONE. Empty flash at 0x00df85f8 ends at 0x00df8800 rootfsのマウント ルートファイルシステムのマウント。 bootargs_rootで設定されたデバイスがマウントされている。 VFS Mounted root (jffs2 filesystem). initで使用したメモリの解放。 Freeing init memory 112K ルートファイルシステムによる初期化 /etc/init.d/rcSの実行。 ここからは実際にマウントされたルートファイルシステムによるシステムの初期化。 --- rcStart (NANDroot) --- MountSystemFolders関数 /etc/init.d/rcS内のMountSystemFolders関数の実行。 ===== Starting MountSystemFolders ===== mounting procfs ... [Success] mounting sysfs ... [Success] mouting usbfs ... [Success] remouting rootfs ... [Success] mounting all devices ... [Success] checkroot.sh /etc/init.d/checkroot.shの実行。 ===== Starting checkroot.sh ===== rm /var/lock/perfmon is a directory rm /var/lock/printing is a directory rm /var/lock/subsys is a directory [Success] Kevent.sh /etc/init.d/Kevent.shの実行。 ===== Starting Kevent.sh ===== [Success] mount_share.sh /etc/init.d/mount_share.shの実行。 HDDが未フォーマットの場合 ===== Starting mount_share.sh ===== Mounting /dev/sda on /mnt/disk1 as a xfs file system. XFS bad magic number XFS SB validate failed mount Mounting /dev/sda on /mnt/disk1 failed Invalid argument Failed. Mounting /dev/sda on /mnt/disk1 as a ext3 file system. mount Mounting /dev/sda on /mnt/disk1 failed Invalid argument Failed. Mounting /dev/mtd3 on /mnt/mtd as a jffs2 file system. Success. [Success] HDDがフォーマット済みの場合 ===== Starting mount_share.sh ===== Mounting /dev/sda1 on /mnt/disk1 as a xfs file system. XFS mounting filesystem sda1 Starting XFS recovery on filesystem sda1 (dev sda1) Ending XFS recovery on filesystem sda1 (dev sda1) Success. Mounting /dev/mtd3 on /mnt/mtd as a jffs2 file system. Success. [Success] sethostname.sh /etc/init.d/sethostname.sh?の実行。 ===== Starting sethostname.sh ===== hostname is setted to KUROBOX-PRO [Success] networking.sh /etc/init.d/networking.shの実行。 LANに未接続の場合 ===== Starting networking.sh ===== create network files.. IP=[dhcp], netmask=[], dgw=[], dns1=[], dns2=[] killall dhcpcd no process killed route SIOC[ADD|DEL]RT No such process Configuration network interface lo eth0 requesting DHCP tout=30[s] ** dhcp fail ** setting default ip route SIOC[ADD|DEL]RT No such process /etc/dhcpc/dhcpcd.exe down dhcpcd.exe interface eth0 has been brought down add default if hostname is setted to KUROBOX-PRO [Success] LANに接続済みの場合 ===== Starting networking.sh ===== create network files.. IP=[dhcp], netmask=[], dgw=[], dns1=[], dns2=[] killall dhcpcd no process killed route SIOC[ADD|DEL]RT No such process Configuration network interface lo eth0 requesting DHCP tout=30[s] eth0 link down eth0 link up 5 , full duplex 5 , speed 100 Mbps 5 /etc/dhcpc/dhcpcd.exe /etc/dhcpc/dhcpcd-eth0.info up dhcpcd.exe interface eth0 has been configured with old IP=192.168.1.9 hostname is setted to KUROBOX-PRO [Success] httpd.sh /etc/init.d/httpd.sh?の実行。 ===== Starting httpd.sh ===== [Success] telnet.sh /etc/init.d/telnet.sh?の実行。 ===== Starting telnet.sh ===== [Success] inetd.sh /etc/init.d/inetd.sh?の実行。 ===== Starting inetd.sh ===== [Success] smb.sh /etc/init.d/smb.sh?の実行。 ===== Starting smb.sh ===== $Starting SMB services $Starting NMB services [Success] clientUtil_servd.sh /etc/init.d/clientUtil_servd.sh?の実行。 ===== Starting clientUtil_servd.sh ===== Starting clientUtil_server starting on eth0 [Success] bootcomplete.sh /etc/init.d/bootcomplete.sh?の実行。 ===== Starting bootcomplete.sh ===== [Success] FanController.sh /etc/init.d/FanController.sh?の実行。 ===== Starting FanController.sh ===== [Success] boss.sh /etc/init.d/boss.sh?の実行。 ===== Starting boss.sh ===== (サングラス男AA) [Success] KUROUTOSHIKOU KUROBOX Series KUROBOX/PRO(KOSHO) KUROBOX-PRO login
https://w.atwiki.jp/aerocats/pages/66.html
/procとは /procの構成 実際に標準Linuxではどのような構成となっているか。 ファイルもしくはディレクトリ名 設定内容 buddyinfo buffalo/ bus/ cmdline cpu/ cpuinfo devices diskstats driver/ execdomains filesystems fs/ interrupts iomem ioports kallsyms kmsg loadavg locks mdstat meminfo misc modules mounts self/mountsのシンボリックリンク mtd mv_xor net/ partitions resource_dump scsi/ self 1405のシンボリックリンク slabinfo stat swaps sys/ sysvipc/ tty/ uptime version vmstat
https://w.atwiki.jp/munemasaroad/pages/20.html
作成中 ここで書かれていることを実行したことによる、パソコンの故障等の問題には一切責任を負えないことを理解した上で、ご利用下さい。 この研究室のraidにだけで起こる問題であるかどうかは定かではないが、mountする前にfdiskを行って、その後partedを行わないとパーティションが切れないことがありました。普通なら、fdiskだけ、partedだけでパーティションが切れるはずなのですがね。不思議だ!! ここでなぜパーティションを切るかといいますと、普通に個人用パソコンを使っている分には何の問題もないのですが(例外はあるが)、サーバーとして扱うときにはたくさんのデータを保存しなければならず、あるたくさんのデータが保存できるように、大容量のハードディスク(ex.raid)を搭載してサーバーを運営します。しかし、あまりにたくさんのハードディスクを搭載すると問題が生じてくることがあるそうです。よく言われるのが、「2テラの壁」というもので、2テラ以上のハードディスクを搭載するときは、パーティションで区切る必要があるようです。そのパーティションとパーティションされた後の処理方法を今から説明する。 それはさておき、この研究室の後輩のためこのページを作成しましたので、もしmountの際に問題に遭遇したらこのページを参照して頂きたいと思います。 fdiskとpartedの内容に移りますが、mountに移る前の流れとして ①fdisk ②parted ③mount ④/etc/fstabの編集:自動mountするため 〇 fdisk
https://w.atwiki.jp/aerocats/pages/61.html
/devとは /devの構成 実際に標準Linuxではどのような構成となっているか。 モード 所有者 グループ メジャー番号 マイナー番号 サイズ ファイル名 リンク先 crw-r--r-- root root 5 1 console crw-r--r-- root root 205 16 cuaam0 crw-r--r-- root root 205 17 cuaam1 lrwxrwxrwx root root 3 disk1 sda lrwxrwxrwx root root 4 disk1_1 sda1 lrwxrwxrwx root root 4 disk1_2 sda2 lrwxrwxrwx root root 4 disk1_3 sda3 lrwxrwxrwx root root 4 disk1_4 sda4 lrwxrwxrwx root root 4 disk1_5 sda5 lrwxrwxrwx root root 4 disk1_6 sda6 lrwxrwxrwx root root 4 disk1_7 sda7 lrwxrwxrwx root root 4 disk1_8 sda8 lrwxrwxrwx root root 4 disk1_9 sda9 lrwxrwxrwx root root 13 fd /proc/self/fd prw-r--r-- root root 0 initctl brw-r--r-- root root 1 250 initrd brw-r--r-- root root 9 0 md0 brw-r--r-- root root 9 1 md1 brw-r--r-- root root 9 2 md2 brw-r--r-- root root 9 3 md3 brw-r--r-- root root 9 4 md4 brw-r--r-- root root 9 5 md5 brw-r--r-- root root 9 6 md6 brw-r--r-- root root 9 7 md7 crw-r--r-- root root 1 1 mem brw-r--r-- root root 28 0 mmc brw-r--r-- root root 31 0 mtd0 brw-r--r-- root root 31 1 mtd1 brw-r--r-- root root 31 2 mtd2 brw-r--r-- root root 31 3 mtd3 brw-r--r-- root root 31 4 mtd4 brw-r--r-- root root 31 5 mtd5 brw-r--r-- root root 31 6 mtd6 brw-r--r-- root root 31 7 mtd7 brw-r--r-- root root 31 0 mtdblock0 brw-r--r-- root root 31 1 mtdblock1 brw-r--r-- root root 31 2 mtdblock2 brw-r--r-- root root 31 3 mtdblock3 brw-r--r-- root root 31 4 mtdblock4 brw-r--r-- root root 31 5 mtdblock5 brw-r--r-- root root 31 6 mtdblock6 brw-r--r-- root root 31 7 mtdblock7 crw-r--r-- root root 90 0 mtdchar0 crw-r--r-- root root 90 2 mtdchar1 crw-r--r-- root root 90 4 mtdchar2 crw-r--r-- root root 90 6 mtdchar3 crw-r--r-- root root 90 8 mtdchar4 crw-r--r-- root root 90 10 mtdchar5 crw-r--r-- root root 90 12 mtdchar6 crw-r--r-- root root 90 14 mtdchar7 crw-r--r-- root root 1 3 null crw-r--r-- root root 5 2 ptmx drwxr-xr-x root root 0 pts crw-r--r-- root root 2 0 ptyp0 crw-r--r-- root root 2 1 ptyp1 crw-r--r-- root root 2 2 ptyp2 crw-r--r-- root root 2 3 ptyp3 brw-r--r-- root root 1 0 ram0 brw-r--r-- root root 0 1 ram1 brw-r--r-- root root 0 2 ram2 lrwxrwxrwx root root 4 ramdisk ram0 crwxrwxrwx root root 1 8 random crwxrwxrwx root root 10 135 rtc brwxrwxrwx root root 8 0 sda brwxrwxrwx root root 8 1 sda1 brwxrwxrwx root root 8 2 sda2 brwxrwxrwx root root 8 3 sda3 brwxrwxrwx root root 8 4 sda4 brwxrwxrwx root root 8 5 sda5 brwxrwxrwx root root 8 6 sda6 brwxrwxrwx root root 8 7 sda7 brwxrwxrwx root root 8 8 sda8 brwxrwxrwx root root 8 9 sda9 brw-r--r-- root root 8 16 sdb brw-r--r-- root root 8 17 sdb1 brw-r--r-- root root 8 18 sdb2 brw-r--r-- root root 8 19 sdb3 brw-r--r-- root root 8 20 sdb4 brw-r--r-- root root 8 21 sdb5 brw-r--r-- root root 8 22 sdb6 brw-r--r-- root root 8 23 sdb7 brw-r--r-- root root 8 32 sdc brw-r--r-- root root 8 33 sdc1 brw-r--r-- root root 8 34 sdc2 brw-r--r-- root root 8 35 sdc3 brw-r--r-- root root 8 36 sdc4 brw-r--r-- root root 8 37 sdc5 brw-r--r-- root root 8 38 sdc6 brw-r--r-- root root 8 39 sdc7 brw-r--r-- root root 8 48 sdd brw-r--r-- root root 8 49 sdd1 brw-r--r-- root root 8 50 sdd2 brw-r--r-- root root 8 51 sdd3 brw-r--r-- root root 8 52 sdd4 brw-r--r-- root root 8 53 sdd5 brw-r--r-- root root 8 54 sdd6 brw-r--r-- root root 8 55 sdd7 lrwxrwxrwx root root 4 stderr fd/2 lrwxrwxrwx root root 4 stdin fd/0 lrwxrwxrwx root root 4 stdout fd/1 crw-r--r-- root root 5 0 tty crw-r--r-- root root 4 0 tty0 crw------- root root 4 1 tty1 crw------- root root 4 2 tty2 crw-r--r-- root root 4 3 tty3 crw--w--w- root root 4 64 ttyS0 crw-r--r-- root root 4 65 ttyS1 crw-rw-rw- root tty 3 0 ttyp0 crw-rw-rw- root tty 3 1 ttyp1 crw-rw-rw- root tty 3 2 ttyp2 crw-rw-rw- root tty 3 3 ttyp3 crw-r--r-- root root 1 5 zero
https://w.atwiki.jp/anthony/
Chicken-Developer 最近はLinkStationのDebian構築の話題が多いかと。 特に一生懸命やりますとかではなく、気ままに更新していくので暖かく見守ってください。目的は自分のためのメモです。 何かあったらご意見板にでもお願いします。 LS-WSX1.0L/R1Jで構成したRAID1のHDDをUbuntuで読み取る方法 LS-WSX1.0L/R1Jの電源が入らなくなりRAID1ミラーリング構成にしていたHDDからデータを救出する。 500GBのHDDが2台組み込まれているのでどちらか片方で処理する。 (1)復旧天使でWindowsからsdb6のXFSにアクセスして読み取る UFS Explorer Professional Recoveryでもよい (2)Mac OSX上のParallels Desktop 10でUbuntu環境を作成してUSB経由で接続して読み取る RAID1構成にしていると普通に mount -t xfs /dev/sdb6 /mnt/disk としてもエラーとなってしまいマウントできない そこでソフトウェアRAIDを構成してマウントする sudo fdisk1 -l sudo parted -s /dev/sdb print sudo apt-get install mdadm sudo mdadm -As cat /proc/mdstat sudo mkdir /mnt/disk1 sudo mount -t xfs /dev/md2 /mnt/disk partedで対象HDD(sdb)のパーティション構成を確認1〜6まであり6が大きなパーティションで復旧対象であることがわかる mdadm -AsでRAID構成開始 /proc/mdstatで状態確認しsdb6がmd2であることを確認する mount -t xfsで/dev/md2をマウントする 以上 あとは別に接続した外付けHDDなどにコピーして復旧する LS-XLのDebian化 実は先日玄箱PROのu-bootを間違って消してしまい再起不能になってしまったため、HDDトラブルで待機していたLS-X2.0TLJ(LS-XL)をDebian化することにしました。 HDDはとりあえず玄箱PROをwheezy化する時に使っていた2.5inchの300GBのHDDを使います。 LS-XL Debian化 LS-XL 初期設定 玄箱PROのDebian化 以前に3.5inch 500GBのHDDを使ってEtchを導入した環境を、別の2.5inch 250GBに置き換えてWheezyを導入するメモを作成中です。 色々変わってきているので以前とは違う作業になっています。 今後のメンテナンスのためにログを取っておくというのが主な目的です。 ■玄箱PRO wheezy Debian Wheezy Setup Debian Wheezy Install ファームウェアの組み込み(wheezy) NAS化 各種設定 その他メモ カーネル入れ替え 未解決の問題 Eclipse Eclipseプラグイン 私が作成して公開しているEclipseプラグインの公開サイトの紹介です。2004年頃から始めたEclipseプラグイン開発でEclipse2.1から最新のEclipse3.3まで幅広く対応しています。 ToDo 未解決の問題に載っていることすべて 最終更新日:2015-11-15
https://w.atwiki.jp/aerocats/pages/55.html
/binとは /binの構成 実際に標準Linuxの/binがどのようになっているのかを見てみる。 コマンド 備考 説明 addgroup BusyBoxのシンボリックリンク adduser BusyBoxのシンボリックリンク ash BusyBoxのシンボリックリンク bash bash2 BusyBoxのシンボリックリンク bbconfig BusyBoxのシンボリックリンク busybox cat BusyBoxのシンボリックリンク chattr BusyBoxのシンボリックリンク chgrp BusyBoxのシンボリックリンク chmod BusyBoxのシンボリックリンク chown BusyBoxのシンボリックリンク cp BusyBoxのシンボリックリンク cpio BusyBoxのシンボリックリンク date BusyBoxのシンボリックリンク dd BusyBoxのシンボリックリンク delgroup BusyBoxのシンボリックリンク deluser BusyBoxのシンボリックリンク df BusyBoxのシンボリックリンク dmesg BusyBoxのシンボリックリンク dumpkmap BusyBoxのシンボリックリンク echo BusyBoxのシンボリックリンク egrep BusyBoxのシンボリックリンク false BusyBoxのシンボリックリンク fdflush BusyBoxのシンボリックリンク fgrep BusyBoxのシンボリックリンク getopt BusyBoxのシンボリックリンク grep BusyBoxのシンボリックリンク gunzip BusyBoxのシンボリックリンク gzip BusyBoxのシンボリックリンク hostname BusyBoxのシンボリックリンク ip BusyBoxのシンボリックリンク ipaddr BusyBoxのシンボリックリンク ipcalc BusyBoxのシンボリックリンク iplink BusyBoxのシンボリックリンク iproute BusyBoxのシンボリックリンク iptunnel BusyBoxのシンボリックリンク kill BusyBoxのシンボリックリンク linux32 BusyBoxのシンボリックリンク linux64 BusyBoxのシンボリックリンク ln BusyBoxのシンボリックリンク login BusyBoxのシンボリックリンク ls BusyBoxのシンボリックリンク lsattr BusyBoxのシンボリックリンク mkdir BusyBoxのシンボリックリンク mknod BusyBoxのシンボリックリンク mktemp BusyBoxのシンボリックリンク more BusyBoxのシンボリックリンク mount BusyBoxのシンボリックリンク mountpoint BusyBoxのシンボリックリンク mt BusyBoxのシンボリックリンク mv BusyBoxのシンボリックリンク netstat BusyBoxのシンボリックリンク nice BusyBoxのシンボリックリンク pidof BusyBoxのシンボリックリンク ping BusyBoxのシンボリックリンク pipe_progress BusyBoxのシンボリックリンク printenv BusyBoxのシンボリックリンク ps BusyBoxのシンボリックリンク pwd BusyBoxのシンボリックリンク rm BusyBoxのシンボリックリンク rmdir BusyBoxのシンボリックリンク rpm BusyBoxのシンボリックリンク run-parts BusyBoxのシンボリックリンク sed BusyBoxのシンボリックリンク setarch BusyBoxのシンボリックリンク sh BusyBoxのシンボリックリンク sleep BusyBoxのシンボリックリンク stat BusyBoxのシンボリックリンク stty BusyBoxのシンボリックリンク su BusyBoxのシンボリックリンク sync BusyBoxのシンボリックリンク tar BusyBoxのシンボリックリンク touch BusyBoxのシンボリックリンク true BusyBoxのシンボリックリンク umount BusyBoxのシンボリックリンク uname BusyBoxのシンボリックリンク uncompress BusyBoxのシンボリックリンク unzip usleep BusyBoxのシンボリックリンク vi BusyBoxのシンボリックリンク watch BusyBoxのシンボリックリンク zcat BusyBoxのシンボリックリンク
https://w.atwiki.jp/aerocats/pages/56.html
/proc /proc/mounts rootfs / rootfs rw 0 0 /dev/root / jffs2 rw,noatime 0 0 proc /proc proc rw,nodiratime 0 0 sysfs /sys sysfs rw 0 0 usbfs /proc/bus/usb usbfs rw 0 0 devpts /dev/pts devpts rw 0 0 /dev/ram1 /mnt/ram tmpfs rw 0 0 /dev/sda1 /mnt/disk1 xfs rw 0 0 /dev/mtd3 /mnt/mtd jffs2 rw,noatime 0 0 /proc/cpuinfo Processor ARM926EJ-Sid(wb) rev 0 (v5l) BogoMIPS 266.24 Features swp half thumb fastmult CPU implementer 0x41 CPU architecture 5TEJ CPU variant 0x0 CPU part 0x926 CPU revision 0 Cache type write-back Cache clean cp15 c7 ops Cache lockdown format C Cache format Harvard I size 32768 I assoc 1 I line length 32 I sets 1024 D size 32768 D assoc 1 D line length 32 D sets 1024 Hardware MV-88fxx81 Revision 0000 Serial 0000000000000000 /proc/devices Character devices 1 mem 2 pty 3 ttyp 4 /dev/vc/0 4 tty 4 ttyS 5 /dev/tty 5 /dev/console 5 /dev/ptmx 7 vcs 10 misc 13 input 21 sg 90 mtd 128 ptm 136 pts 180 usb Block devices 1 ramdisk 7 loop 8 sd 9 md 31 mtdblock 65 sd 66 sd 67 sd 68 sd 69 sd 70 sd 71 sd 128 sd 129 sd 130 sd 131 sd 132 sd 133 sd 134 sd 135 sd 254 mdp /proc/mtd dev size erasesize name mtd0 00040000 00001000 "phys_mapped_flash" mtd1 00400000 00020000 "uImage" mtd2 04000000 00020000 "rootfs" mtd3 0bc00000 00020000 "extra" /proc/interrupts CPU0 0 103019 Mv Timer Tick 3 438 serial 12 0 ehci_hcd usb2 17 0 ehci_hcd usb1 21 426 eth0 29 110 mvSata 30 20704 xor_chan0 31 0 xor_chan1 34 0 MiCon Err 0 /proc/ioports 00000000-000fffff PCI IO Primary 00100000-001fffff PCI IO Primary /proc/meminfo MemTotal 126328 kB MemFree 107748 kB Buffers 0 kB Cached 9640 kB SwapCached 0 kB Active 6332 kB Inactive 6100 kB HighTotal 0 kB HighFree 0 kB LowTotal 126328 kB LowFree 107748 kB SwapTotal 0 kB SwapFree 0 kB Dirty 0 kB Writeback 0 kB Mapped 5644 kB Slab 4616 kB CommitLimit 63164 kB Committed_AS 25104 kB PageTables 244 kB VmallocTotal 385024 kB VmallocUsed 4428 kB VmallocChunk 380412 kB